package com.wzdigit.wms.basic.enums;

import java.util.*;

public enum InvAttrEnum implements BaseEnum {
    K("K", "寄售","寄售"),
    E("E", "销售订单","销售订单"),
    S("S", "标准","标准");

    private String code;
    private String enumName;
    private String description;

    InvAttrEnum(String code, String enumName, String description) {
        this.code = code;
        this.description = description;
        this.enumName = enumName;
    }

    public String getCode() {
		return code;
	}


	public String getEnumName() {
		return enumName;
	}


	public String getDescription() {
		return description;
	}

	public static Map<String, String> getEnumByDescription() {
		Map<String, String> enumMap = new HashMap<>();

		InvAttrEnum[] values = InvAttrEnum.values();
		for (InvAttrEnum value : values) {
			enumMap.put(value.getCode(), value.getEnumName());
		}
		return enumMap;
	}
	
	public static Map<String, String> getEnumByDescription(String enumDescription) {
		Map<String, String> enumMap = new HashMap<>();

		InvAttrEnum[] values = InvAttrEnum.values();
		for (InvAttrEnum value : values) {
			if (Objects.equals(value.getDescription(), enumDescription)) {
				enumMap.put(value.getCode(), value.getEnumName());
			}
		}
		return enumMap;
	}

	public static List<Map<String, Object>> getEnumListByDescription() {
		List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
		InvAttrEnum[] values = InvAttrEnum.values();
		for (InvAttrEnum value : values) {
			Map<String, Object> enumMap = new HashMap<String, Object>(2);
			enumMap.put("code", value.getCode());
			enumMap.put("name", value.getEnumName());
			list.add(enumMap);
		}
		return list;
	}
	
	public static List<Map<String, Object>> getEnumListByDescription(String enumDescription) {
		List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
		InvAttrEnum[] values = InvAttrEnum.values();
		for (InvAttrEnum value : values) {
			if (Objects.equals(value.getDescription(), enumDescription)) {
				Map<String, Object> enumMap = new HashMap<String, Object>(2);
				enumMap.put("code", value.getCode());
				enumMap.put("name", value.getEnumName());
				list.add(enumMap);
			}
		}
		return list;
	}
}
